
<!DOCTYPE html>
<html lang="en-gb" dir="ltr">

    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>可排序 - UIkit 中文文档</title>
        <meta name="description" content="使用UIkit可排序组件，轻松创建可以通过鼠标拖拽元进行排序的效果，通常用于在管理界面对菜单条目等进行排序。">
        <meta name="author" content="UIkit中文网">
         
<meta name="keywords" content="UIkit可排序,sortable,拖拽,手柄,JavaScript">
        <link rel="shortcut icon" href="images/favicon.ico" type="image/x-icon">
        <link rel="apple-touch-icon-precomposed" href="images/apple-touch-icon.png">
        <link id="data-uikit-theme" rel="stylesheet" href="css/uikit.docs.min.css">
        <link rel="stylesheet" href="css/docs.css">
        <link rel="stylesheet" href="../vendor/highlight/highlight.css">
        <script src="../vendor/jquery.js"></script>
        <script src="js/uikit.min.js"></script>
        <script src="../vendor/highlight/highlight.js"></script>
        <script src="js/docs.js"></script>
        <script src="../src/js/components/sortable.js"></script>
    </head>

    <body class="tm-background">

        <nav class="tm-navbar uk-navbar uk-navbar-attached">
            <div class="uk-container uk-container-center">

                <a class="uk-navbar-brand uk-hidden-small" href="../index.html"><img class="uk-margin uk-margin-remove" src="images/logo_uikit.svg" width="90" height="30" title="UIkit" alt="UIkit"></a>

                <ul class="uk-navbar-nav uk-hidden-small">
                    <li><a href="documentation_get-started.html">开始使用</a></li>
                    <li><a href="core.html">核心组件</a></li>
                    <li class="uk-active"><a href="components.html">附加组件</a></li>
                    <li><a href="customizer.html">定制工具</a></li>
                    <li><a href="../showcase/index.html">案例展示</a></li>
                    <li><a href="tutorials.html">视频教程</a></li>
                </ul>

                <a href="#tm-offcanvas" class="uk-navbar-toggle uk-visible-small" data-uk-offcanvas></a>

                <div class="uk-navbar-brand uk-navbar-center uk-visible-small"><img src="images/logo_uikit.svg" width="90" height="30" title="UIkit" alt="UIkit"></div>

            </div>
        </nav>

        <div class="tm-middle">
            <div class="uk-container uk-container-center">

                <div class="uk-grid" data-uk-grid-margin>
                    <div class="tm-sidebar uk-width-medium-1-4 uk-hidden-small">

                        <ul class="tm-nav uk-nav" data-uk-nav>
                            <li class="uk-nav-header">布局类组件</li>
                            <li><a href="grid-js.html">动态网格</a></li>
                            <li><a href="grid-parallax.html">视差网格</a></li>
                            <li class="uk-nav-header">导航类组件</li>
                            <li><a href="dotnav.html">圆点导航</a></li>
                            <li><a href="slidenav.html">滑动导航</a></li>
                            <li><a href="pagination-js.html">动态分页</a></li>
                            <li class="uk-nav-header">常用组件</li>
                            <li><a href="form-advanced.html">高级表单</a></li>
                            <li><a href="form-file.html">文件表单</a></li>
                            <li><a href="form-password.html">密码表单</a></li>
                            <li><a href="form-select.html">选择表单</a></li>
                            <li><a href="placeholder.html">占位符</a></li>
                            <li><a href="progress.html">进度条</a></li>
                            <li class="uk-nav-header">JavaScript组件</li>
                            <li><a href="lightbox.html">灯箱</a></li>
                            <li><a href="autocomplete.html">自动完成</a></li>
                            <li><a href="datepicker.html">日期选择器</a></li>
                            <li><a href="htmleditor.html">HTML 编辑器</a></li>
                            <li><a href="slider.html">滚动条</a></li>
                            <li><a href="slideset.html">滑块集</a></li>
                            <li><a href="slideshow.html">幻灯片</a></li>
                            <li><a href="parallax.html">视差</a></li>
                            <li><a href="accordion.html">手风琴</a></li>
                            <li><a href="notify.html">通知</a></li>
                            <li><a href="search.html">搜索</a></li>
                            <li><a href="nestable.html">可嵌套</a></li>
                            <li class="uk-active"><a href="sortable.html">可排序</a></li>
                            <li><a href="sticky.html">附着</a></li>
                            <li><a href="timepicker.html">时间选择器</a></li>
                            <li><a href="tooltip.html">工具提示</a></li>
                            <li><a href="upload.html">上传</a></li>
                        </ul>

                    </div>
                    <div class="tm-main uk-width-medium-3-4">

                        <article class="uk-article">

                            <h1>可排序/Sortable</h1>

                            <p class="uk-article-lead">创建可排序的网格和列表重新来排列元素的顺序。</p>

                            <p>拖拽元素到另一个可排序的网格中的某处，该网格中其它条目会自动适应排列顺序。这将会在诸如排列画廊条目或者菜单条目时显得尤为有用。</p>

                            <hr class="uk-article-divider">

                            <h2 id="usage"><a href="#usage" class="uk-link-reset">用法</a></h2>

                            <p>要使用这个组件，需要在容器中添加 <code>.uk-sortable</code> 类，然后创建子元素来定义这个组件。为了使必要的JavaScript生效，还需要添加 <code>data-uk-sortable</code> 属性。<span class="uk-badge uk-badge-danger">注意</span> 使用此组件需要额外添加 <code>sortable.css</code> 文件，在<code>css/components</code>文件夹中。此组件需要额外添加 <code>sortable.js</code> 文件，在<code>js/components</code>文件夹中。</p>

                            <h3 class="tm-article-subtitle">Example</h3>

                            <p>在这里的例子中，我们使用到了 <a href="grid.html">网格组件</a>来放置可排序的条目。</p>

                            <ul class="uk-sortable uk-grid uk-grid-small uk-grid-width-1-5" data-uk-sortable>
                                <li class="uk-grid-margin"><div class="uk-panel uk-panel-box">Item 1</div></li>
                                <li class="uk-grid-margin"><div class="uk-panel uk-panel-box">Item 2</div></li>
                                <li class="uk-grid-margin"><div class="uk-panel uk-panel-box">Item 3</div></li>
                                <li class="uk-grid-margin"><div class="uk-panel uk-panel-box">Item 4</div></li>
                                <li class="uk-grid-margin"><div class="uk-panel uk-panel-box">Item 5</div></li>
                                <li class="uk-grid-margin"><div class="uk-panel uk-panel-box">Item 6</div></li>
                                <li class="uk-grid-margin"><div class="uk-panel uk-panel-box">Item 7</div></li>
                                <li class="uk-grid-margin"><div class="uk-panel uk-panel-box">Item 8</div></li>
                                <li class="uk-grid-margin"><div class="uk-panel uk-panel-box">Item 9</div></li>
                                <li class="uk-grid-margin"><div class="uk-panel uk-panel-box">Item 10</div></li>
                            </ul>

                            <h3 class="tm-article-subtitle">Markup</h3>

<pre><code>&lt;ul class="uk-sortable" data-uk-sortable&gt;
    &lt;li&gt;...&lt;/li&gt;
    &lt;li&gt;...&lt;/li&gt;
&lt;/ul&gt;</code></pre>

                            <hr class="uk-article-divider">

                            <h3 id ="sort-any-element"><a href="#sort-any-element" class="uk-link-reset">任意元素的排序</a></h3>

                            <p>可排序组件并不限制只能用于 <code>&lt;ul&gt;</code> 元素。你可以使用任意块元素作为容器。</p>

                            <h4 class="tm-article-subtitle">Markup</h4>


<pre><code>&lt;div class="uk-sortable" data-uk-sortable&gt;
    &lt;div&gt;...&lt;/div&gt;
    &lt;div&gt;...&lt;/div&gt;
&lt;/div&gt;</code></pre>

                            <hr class="uk-article-divider">

                            <h2 id="sortable-handle"><a href="#sortable-handle" class="uk-link-reset">可排序手柄</a></h2>

                            <p>默认地，整个可排序元素都可以拖拽进行排序。为了创建一个操作手柄，只需为希望作为手柄的元素添加 <code>{handleClass:'uk-sortable-handle'}</code> 选项到 data 属性，并添加手柄的class 类名。</p>

                            <h3 class="tm-article-subtitle">Example</h3>

                            <ul class="uk-sortable uk-grid uk-grid-small uk-grid-width-1-5" data-uk-sortable="{handleClass:'uk-sortable-handle'}">
                                <li class="uk-grid-margin"><div class="uk-panel uk-panel-box"><i class="uk-sortable-handle uk-icon uk-icon-bars uk-margin-small-right"></i>Item 1</div></li>
                                <li class="uk-grid-margin"><div class="uk-panel uk-panel-box"><i class="uk-sortable-handle uk-icon uk-icon-bars uk-margin-small-right"></i>Item 2</div></li>
                                <li class="uk-grid-margin"><div class="uk-panel uk-panel-box"><i class="uk-sortable-handle uk-icon uk-icon-bars uk-margin-small-right"></i>Item 3</div></li>
                                <li class="uk-grid-margin"><div class="uk-panel uk-panel-box"><i class="uk-sortable-handle uk-icon uk-icon-bars uk-margin-small-right"></i>Item 4</div></li>
                                <li class="uk-grid-margin"><div class="uk-panel uk-panel-box"><i class="uk-sortable-handle uk-icon uk-icon-bars uk-margin-small-right"></i>Item 5</div></li>
                                <li class="uk-grid-margin"><div class="uk-panel uk-panel-box"><i class="uk-sortable-handle uk-icon uk-icon-bars uk-margin-small-right"></i>Item 6</div></li>
                                <li class="uk-grid-margin"><div class="uk-panel uk-panel-box"><i class="uk-sortable-handle uk-icon uk-icon-bars uk-margin-small-right"></i>Item 7</div></li>
                                <li class="uk-grid-margin"><div class="uk-panel uk-panel-box"><i class="uk-sortable-handle uk-icon uk-icon-bars uk-margin-small-right"></i>Item 8</div></li>
                                <li class="uk-grid-margin"><div class="uk-panel uk-panel-box"><i class="uk-sortable-handle uk-icon uk-icon-bars uk-margin-small-right"></i>Item 9</div></li>
                                <li class="uk-grid-margin"><div class="uk-panel uk-panel-box"><i class="uk-sortable-handle uk-icon uk-icon-bars uk-margin-small-right"></i>Item 10</div></li>
                            </ul>

                            <p><span class="uk-badge">NOTE</span> 在这个例子中，使用了 <a href="icon.html">图标组件</a> 中的 <code>.uk-icon-bars</code> 类名来设定手柄的样式。</p>

                            <h3 class="tm-article-subtitle">Markup</h3>

<pre><code>&lt;ul class="uk-sortable" data-uk-sortable="{handleClass:'uk-sortable-handle'}"&gt;
    &lt;li&gt;&lt;div class="uk-sortable-handle"&gt;&lt;/div&gt;...&lt;/li&gt;
&lt;/ul&gt;</code></pre>

                            <hr class="uk-article-divider">


                            <h2 id ="group"><a href="#group" class="uk-link-reset">多个列表之间的排序</a></h2>

                            <p>为了是跨列表的拖拽排序成为可能，你需要为每个列表添加 <code>data-uk-sortable="{group:'GROUP-NAME'}"</code> 属性，将它们归为一组。</p>

                            <h3 class="tm-article-subtitle">Example</h3>

                            <div class="uk-grid uk-grid-width-1-2">

                                <div>

                                    <h3>First list</h3>

                                    <div class="uk-sortable uk-margin" data-uk-sortable="{group:'test'}">
                                        <div class="uk-margin">
                                            <div class="uk-panel uk-panel-box">Item 1</div>
                                        </div>
                                        <div class="uk-margin">
                                            <div class="uk-panel uk-panel-box">Item 2</div>
                                        </div>
                                        <div class="uk-margin">
                                            <div class="uk-panel uk-panel-box">Item 3</div>
                                        </div>
                                        <div class="uk-margin">
                                            <div class="uk-panel uk-panel-box">Item 4</div>
                                        </div>
                                    </div>

                                </div>
                                <div>

                                    <h3>Second list</h3>

                                    <div class="uk-sortable uk-margin" data-uk-sortable="{group:'test'}">
                                        <div class="uk-margin">
                                            <div class="uk-panel uk-panel-box">Item 1</div>
                                        </div>
                                        <div class="uk-margin">
                                            <div class="uk-panel uk-panel-box">Item 2</div>
                                        </div>
                                        <div class="uk-margin">
                                            <div class="uk-panel uk-panel-box">Item 3</div>
                                        </div>
                                        <div class="uk-margin">
                                            <div class="uk-panel uk-panel-box">Item 4</div>
                                        </div>
                                    </div>

                                </div>


                            </div>

                            <h3 class="tm-article-subtitle">Markup</h3>


<pre><code>&lt;ul class="uk-sortable" data-uk-sortable="{group:'my-group'}"&gt;...&lt;/ul&gt;
&lt;ul class="uk-sortable" data-uk-sortable="{group:'my-group'}"&gt;...&lt;/ul&gt;</code></pre>

                            <hr class="uk-article-divider">


                            <h2 id="javascript-options"><a href="#javascript-options" class="uk-link-reset">JavaScript 选项</a></h2>

                            <p>这是一个关于如何通过data属性设置选项的例子：</p>

                            <pre><code>data-uk-sortable=&quot;{animation:0, dragCustomClass:'dragging'}&quot;</code></pre>

                            <div class="uk-overflow-container">
                                <table class="uk-table uk-table-striped uk-text-nowrap">
                                    <thead>
                                        <tr>
                                            <th>选项</th>
                                            <th>可用值</th>
                                            <th>默认值</th>
                                            <th>描述</th>
                                        </tr>
                                    </thead>
                                    <tbody>
                                        <tr>
                                            <td><code>group</code></td>
                                            <td>string</td>
                                            <td>false</td>
                                            <td>列表的组</td>
                                        </tr>
                                        <tr>
                                            <td><code>animation</code></td>
                                            <td>integer</td>
                                            <td>150</td>
                                            <td>毫秒计时的动画</td>
                                        </tr>
                                        <tr>
                                            <td><code>threshold</code></td>
                                            <td>integer</td>
                                            <td>10</td>
                                            <td>触发元素拖拽的鼠标移动像素距离的阈值</td>
                                        </tr>
                                        <tr>
                                            <td><code>handleClass</code></td>
                                            <td>string</td>
                                            <td>''</td>
                                            <td>自定义类名，用于定义哪些元素可以触发排序</td>
                                        </tr>
                                        <tr>
                                            <td><code>dragCustomClass</code></td>
                                            <td>string</td>
                                            <td>''</td>
                                            <td>添加到被拖拽元素中的自定义类</td>
                                        </tr>
                                    </tbody>
                                </table>
                            </div>

                            <h3 class="tm-article-subtitle">手动地初始化元素</h3>

                            <pre><code>var sortable = UIkit.sortable(element, { /* options */ });</code></pre>

                            <h3>Events</h3>

                            <div class="uk-overflow-container">
                                <table class="uk-table uk-table-striped uk-text-nowrap">
                                    <thead>
                                        <tr>
                                            <th>Name</th>
                                            <th>Parameter</th>
                                            <th>Description</th>
                                        </tr>
                                    </thead>
                                    <tbody>
                                        <tr>
                                            <td><code>start.uk.sortable</code></td>
                                            <td>event, sortable object, dragged element</td>
                                            <td>可排序拖拽开始时触发</td>
                                        </tr>
                                        <tr>
                                            <td><code>move.uk.sortable</code></td>
                                            <td>event, sortable object</td>
                                            <td>移动可排序条目时触发</td>
                                        </tr>
                                        <tr>
                                            <td><code>stop.uk.sortable</code></td>
                                            <td>event, sortable object, dragged element</td>
                                            <td>拖拽终止时触发</td>
                                        </tr>
                                        <tr>
                                            <td><code>change.uk.sortable</code></td>
                                            <td>event, sortable object, dragged element, action</td>
                                            <td>改变可排序条目时触发</td>
                                        </tr>
                                    </tbody>
                                </table>
                            </div>

                        </article>

                    </div>
                </div>

            </div>
        </div>

        <div class="tm-footer">
            <div class="uk-container uk-container-center uk-text-center">

                <ul class="uk-subnav uk-subnav-line uk-flex-center">
                    <li><a href="http://github.com/uikit/uikit">GitHub</a></li>
                    <li><a href="http://github.com/uikit/uikit/issues">Issues</a></li>
                    <li><a href="http://github.com/uikit/uikit/blob/master/CHANGELOG.md">Changelog</a></li>
                    <li><a href="https://twitter.com/getuikit">Twitter</a></li>
                </ul>

                <div class="uk-panel">
                    <p>Made by <a href="http://www.yootheme.com">YOOtheme</a> with love and caffeine.<br>Licensed under <a href="http://opensource.org/licenses/MIT">MIT license</a>.</p>
                    <a href="../index.html"><img src="images/logo_uikit.svg" width="90" height="30" title="UIkit" alt="UIkit"></a>
                </div>

            </div>
        </div>

        <div id="tm-offcanvas" class="uk-offcanvas">

            <div class="uk-offcanvas-bar">

                <ul class="uk-nav uk-nav-offcanvas uk-nav-parent-icon" data-uk-nav="{multiple:true}">
                    <li class="uk-parent"><a href="#">UIkit 中文文档</a>
                        <ul class="uk-nav-sub">
                            <li><a href="documentation_get-started.html">开始使用</a></li>
                            <li><a href="documentation_how-to-customize.html">如何定制</a></li>
                            <li><a href="documentation_layouts.html">布局示例</a></li>
                            <li><a href="core.html">核心组件</a></li>
                            <li><a href="components.html">附加组件</a></li>
                            <li><a href="documentation_project-structure.html">项目结构</a></li>
                            <li><a href="documentation_less-sass.html">Less &amp; Sass 文件</a></li>
                            <li><a href="documentation_create-a-theme.html">创建主题</a></li>
                            <li><a href="documentation_create-a-style.html">创建样式</a></li>
                            <li><a href="documentation_customizer-json.html">Customizer.json</a></li>
                            <li><a href="documentation_javascript.html">JavaScript</a></li>
                            <li><a href="documentation_custom-prefix.html">自定义前缀</a></li>
                        </ul>
                    </li>
                    <li class="uk-nav-header">Core</li>
                    <li class="uk-parent"><a href="#"><i class="uk-icon-wrench"></i> 默认</a>
                        <ul class="uk-nav-sub">
                            <li><a href="base.html">基础</a></li>
                            <li><a href="print.html">打印</a></li>
                        </ul>
                    </li>
                    <li class="uk-parent"><a href="#"><i class="uk-icon-th-large"></i> 布局类组件</a>
                        <ul class="uk-nav-sub">
                            <li><a href="grid.html">网格</a></li>
                            <li><a href="panel.html">面板</a></li>
                            <li><a href="block.html">块</a></li>
                            <li><a href="article.html">文章</a></li>
                            <li><a href="comment.html">评论</a></li>
                            <li><a href="utility.html">效果</a></li>
                            <li><a href="flex.html">Flex</a></li>
                            <li><a href="cover.html">覆盖</a></li>
                        </ul>
                    </li>
                    <li class="uk-parent"><a href="#"><i class="uk-icon-bars"></i> 导航类组件</a>
                        <ul class="uk-nav-sub">
                            <li><a href="nav.html">导航菜单</a></li>
                            <li><a href="navbar.html">导航栏</a></li>
                            <li><a href="subnav.html">二级导航</a></li>
                            <li><a href="breadcrumb.html">面包屑</a></li>
                            <li><a href="pagination.html">分页</a></li>
                            <li><a href="tab.html">选项卡</a></li>
                            <li><a href="thumbnav.html">缩略图导航</a></li>
                        </ul>
                    </li>
                    <li class="uk-parent"><a href="#"><i class="uk-icon-check"></i> 页面元素</a>
                        <ul class="uk-nav-sub">
                            <li><a href="list.html">列表</a></li>
                            <li><a href="description-list.html">描述列表</a></li>
                            <li><a href="table.html">表格</a></li>
                            <li><a href="form.html">表单</a></li>
                        </ul>
                    </li>
                    <li class="uk-parent"><a href="#"><i class="uk-icon-folder-open"></i> 常用组件</a>
                        <ul class="uk-nav-sub">
                            <li><a href="button.html">按钮</a></li>
                            <li><a href="icon.html">图标</a></li>
                            <li><a href="close.html">关闭</a></li>
                            <li><a href="badge.html">徽章</a></li>
                            <li><a href="alert.html">提示框</a></li>
                            <li><a href="thumbnail.html">缩略图</a></li>
                            <li><a href="overlay.html">遮罩</a></li>
                            <li><a href="text.html">文本</a></li>
                            <li><a href="column.html">列</a></li>
                            <li><a href="animation.html">动画</a></li>
                            <li><a href="contrast.html">对比度</a></li>
                        </ul>
                    </li>
                    <li class="uk-parent"><a href="#"><i class="uk-icon-magic"></i> JavaScript组件</a>
                        <ul class="uk-nav-sub">
                            <li><a href="dropdown.html">下拉菜单</a></li>
                            <li><a href="modal.html">模态对话框</a></li>
                            <li><a href="offcanvas.html">抽屉</a></li>
                            <li><a href="switcher.html">切换器</a></li>
                            <li><a href="toggle.html">拨动</a></li>
                            <li><a href="scrollspy.html">滚动监听</a></li>
                            <li><a href="smooth-scroll.html">平滑滚动</a></li>
                        </ul>
                    </li>
                    <li class="uk-nav-header">附加组件</li>
                    <li class="uk-parent"><a href="#"><i class="uk-icon-th-large"></i> 布局类组件</a>
                        <ul class="uk-nav-sub">
                            <li><a href="grid-js.html">动态网格</a></li>
                            <li><a href="grid-parallax.html">视差网格</a></li>
                        </ul>
                    </li>
                    <li class="uk-parent"><a href="#"><i class="uk-icon-bars"></i> 导航类组件</a>
                        <ul class="uk-nav-sub">
                            <li><a href="dotnav.html">圆点导航</a></li>
                            <li><a href="slidenav.html">滑动导航</a></li>
                            <li><a href="pagination-js.html">动态分页</a></li>
                        </ul>
                    </li>
                    <li class="uk-parent"><a href="#"><i class="uk-icon-folder-open"></i> 常用组件</a>
                        <ul class="uk-nav-sub">
                            <li><a href="form-advanced.html">高级表单</a></li>
                            <li><a href="form-file.html">文件表单</a></li>
                            <li><a href="form-password.html">密码表单</a></li>
                            <li><a href="form-select.html">选择表单</a></li>
                            <li><a href="placeholder.html">占位符</a></li>
                            <li><a href="progress.html">进度条</a></li>
                        </ul>
                    </li>
                    <li class="uk-parent"><a href="#"><i class="uk-icon-magic"></i> JavaScript组件</a>
                        <ul class="uk-nav-sub">
                            <li><a href="lightbox.html">灯箱</a></li>
                            <li><a href="autocomplete.html">自动完成</a></li>
                            <li><a href="datepicker.html">日期选择器</a></li>
                            <li><a href="htmleditor.html">HTML 编辑器</a></li>
                            <li><a href="slider.html">滚动条</a></li>
                            <li><a href="slideset.html">滑块集</a></li>
                            <li><a href="slideshow.html">幻灯片</a></li>
                            <li><a href="parallax.html">视差</a></li>
                            <li><a href="accordion.html">手风琴</a></li>
                            <li><a href="notify.html">通知</a></li>
                            <li><a href="search.html">搜索</a></li>
                            <li><a href="nestable.html">可嵌套</a></li>
                            <li><a href="sortable.html">可排序</a></li>
                            <li><a href="sticky.html">附着</a></li>
                            <li><a href="timepicker.html">时间选择器</a></li>
                            <li><a href="tooltip.html">工具提示</a></li>
                            <li><a href="upload.html">上传</a></li>
                        </ul>
                    </li>
                    <li class="uk-nav-divider"></li>
                    <li><a href="../showcase/index.html">案例展示</a></li>
                    <li><a href="tutorials.html">视频教程</a></li>
                </ul>

            </div>

        </div>

    </body>
</html>
